6
תגובות

הפונקציה sleep

פתח NaseemIB96 ,
היי
במהלך בניית מערכת מסוימת ב PHP בניתי מערכת התחברות,
ואחרי כמה תנאים עכשיו ELSE ושמתי את הקוד הבא :
else{
                    echo "התחברת בהצלחה למערכת, מיד תועבר לפאנל ניהול";
                    session_start();
                    $_SESSION['admin'] = $username;
                    sleep(2);
                    header('location: index.php');
                  }


כפי שאפשר לראות הקוד הבא עושה את הדברים הבאים :
1- מציג הודעה מסוימת
2- מתחיל סשן
3- מגדיר סשן
4- עוצר ל 2 שניות
5- מעביר/מפנה לדף הראשי

אבל כשאני מפעיל את הקוד הוא לא מציג את ההודעה שהוא אומר להציג אותה בשלב 1.
מה עשיתי טעות פה ? איך אני מתקן את זה ? תודה רבה לכם !

6 תשובות

avatar ענה raslin ב 26 ליוני 2012 #

PHP זה צד שרת,
מה שאתה בטח מתכנן לעשות עושים עם JS

avatar ענה questioner ב 26 ליוני 2012 #

התוכן נכתב רק בסוף הסקריפט.
לכן מה שקורה זה שהתוכן נכתב, ומייד אחר כך אתה מועבר לעמוד ההוא.
תצטרך להשתמש בJS, כנראה

avatar ענה Y_Y ב 26 ליוני 2012 #

פעם ראשונה שאני רואה עיכובים בקוד PHP..

המטרה שלך כמה שפחות להשתמש בשרת גם אם מדובר בעיכוב,מומלץ להעביר המתנות לצד הלקוח

avatar ענה cthulhu ב 26 ליוני 2012 #

בשביל מה אתה עוצר את הסקריפט כשאפשר לשים ב-header את מס' השניות שצריכות לעבור עד שהמשתמש יעבור לדף אחד? אז לפני ה-location ציין את מס' השניות. ככה אתה תעביר לדפדפן header והוא כבר ידאג בעצמו להעביר את המשתמש לדף אחר. מה שאתה עושה עכשיו - לא יעיל.

avatar ענה intval ב 26 ליוני 2012 #

כל כך הרבה בעיות בקוד אחד :)

else
{
  $_SESSION['admin'] = $username;
  echo "התחברת בהצלחה למערכת, מיד תועבר לפאנל ניהול",
    '<meta http-equiv="refresh" content="2;url=index.php">';
}


את ה session_start אתה שם בתחילת תחילת תחילת הסקריפט ולא באמצע ה else